//package com.zhihesj.anan.utils;
//
//import cn.hutool.core.date.DateTime;
//import cn.hutool.core.date.DateUnit;
//import cn.hutool.core.date.DateUtil;
//import com.zhihesj.anan.weixin.entity.Media;
//
//import java.io.File;
//import java.sql.Timestamp;
//import java.util.Arrays;
//import java.util.Map;
//
///**
// * @author anan.
// * @version 1.0
// * @create 2020-06-12 16-03
// */
//public class WeixinUtil {
//
//    public static String getToken(){
//
//        return null;
//    }
//
//    /**
//     * 判断map1中的create_time中的时间是否超时
//     * @param map1
//     * @return
//     */
//    public static boolean isTimeOut(Map<String, Object> map1) {
//        DateTime create_time = DateUtil.date((Timestamp) map1.get("create_time"));
//        long timeOut = (Long) map1.get("expires_in");
//        long between = DateUtil.between(DateUtil.date(), create_time, DateUnit.SECOND);
//        return between >= timeOut ? true : false;
//    }
//
//    public static boolean isTimeOut(String token) {
//
//
//        return  false;
//    }
//
//    /**
//     * 判断文件是否过期
//     * @param media
//     * @return
//     */
//    public static boolean isTimeOut(Media media){
//        //创建时间戳
//        String createdAt = media.getCreatedAt();
//        //转换成DateTime 上传时间
//        DateTime dateTime = DateUtil.date(Long.parseLong(createdAt)*1000);
//        //超时时间
//        DateTime dateOutTime = DateUtil.offsetDay(dateTime, Integer.parseInt(media.getEffectiveDuration()));
//        //现在时间
//        dateTime = DateUtil.date();
//        return dateOutTime.getTime() > dateTime.getTime() ? false : true;
//    }
//
//    /**
//     * 过滤文件格式与后缀名以及大小
//     * 图片（image）: 2M，支持PNG\JPEG\JPG\GIF格式
//     * 语音（voice）：2M，播放长度不超过60s，支持AMR\MP3格式
//     * 视频（video）：10MB，支持MP4格式
//     * 缩略图（thumb）：64KB，支持JPG格式
//     * @param type  PNG\JPEG\JPG\GIF
//     * @param type
//     * @param fileName
//     * @param file
//     * @return
//     */
//    public static boolean filterFiles(String type, String fileName, File file) {
//        String suffix= fileName.substring(fileName.lastIndexOf(".")+1);
//        String[] imageArray= new String[]{"PNG","JPEG","JPG","GIF"};
//        String[] voiceArray= new String[]{"AMR","MP3"};
//        switch(type){
//            case "image" :
//                if (file.length() > 2 * 1024 * 1024 || !Arrays.asList(imageArray).contains(suffix.toUpperCase())) {
//                    return true;
//                }
//                break;
//            case "voice" :
//                if (file.length() > 2 * 1024 * 1024 || !Arrays.asList(voiceArray).contains(suffix.toUpperCase())){
//                    return true;
//                }
//                break;
//            case "video" :
//                if (file.length() > 10 * 1024 * 1024){
//                    return true;
//                }
//                if (!"MP4".equals(suffix.toUpperCase())){
//                    return true;
//                }
//                break;
//            case "thumb" :
//                if (file.length() > 64 * 1024){
//                    return true;
//                }
//                if (!"JPG".equals(suffix.toUpperCase())){
//                    return true;
//                }
//                break;
//            default :
//                break;
//        }
//        return false;
//    }
//
//}
